//
//  WWXLinkList.h
//  IMChat
//
//  Created by Admin on 2021/7/5.
//  Copyright © 2021年 TeamOne. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "WWXNode.h"
@class WWXNode;

NS_ASSUME_NONNULL_BEGIN

@interface WWXLinkList : NSObject
//{
//    WWXNode *myHead;
//    WWXNode *myLasy;
//    int myN;
//}

//长度
@property(assign, nonatomic)int N;
//首节点
@property(nonatomic,strong,nullable)WWXNode *head;
//尾节点
@property(nonatomic,strong,nullable)WWXNode *last;

//初始化
+(instancetype)initLinkList;
//清空链表
-(void)clear;
//获取长度
-(int)length;
//判断是否为空
-(Boolean)isEmpty;
//获取第一个元素
-(instancetype) getFirst;
//获取最后一个元素
-(instancetype) getLast;
//插入元素
-(void)insertData:(id)data;
//向指定位置i处插入元素
-(void)insertData:(id)data index:(int)i;
//获取指定位置i处的元素
-(id)get:(int)i;
//找到元素data在链表中第一次出现的位置
-(int)indexOfData:(id)data;
//删除位置i处的元素，并返回该元素
-(instancetype)removeData:(int)i;


//转成数组
-(NSMutableArray*)toMutableArray;

//打印方法（用于测试）
-(void)printLinkList;


@end

NS_ASSUME_NONNULL_END
